#version 130

uniform sampler2D Tex1;
varying vec2 TexCoord;
uniform vec3 AmbientalLightIntensity; // (Ld)
uniform vec3 LightPosition;

varying vec3 position;
varying vec3 normal;

void main() {
	vec4 texColor = texture2D(Tex1, TexCoord);
	texColor = vec4(0.1, 0.1, 0.25, 1.0);

	float distancia = length(position - LightPosition);	// calculo la distancia entre la luz y el vertice
	float atenuacion = 1.0 / (1.0 + 0.1 * distancia + 0.01 * distancia * distancia); // calculo la atenuación por la distancia

	vec3 surf2light = normalize(LightPosition - position); // Calculo el vector posicion-luz

	vec3 norm = normalize(normal); 						// normalizo la normal
	vec3 norm_pos = normalize(surf2light); 			// normalizo la direccion de la luz

	float cos_diffuse = max(0.0, dot(norm, norm_pos));

	vec3 diffuse_light = cos_diffuse * (vec3(1.0f)); 	// No tengo en cuenta al material ni la luz

	gl_FragColor = texColor * vec4((AmbientalLightIntensity + diffuse_light) * atenuacion, 1.0);

}